package com.changan.error;

/**
 * 为什么要设置成枚举类,其实我就是想在这个类中定义通用错误类型
 * 这个枚举类知识规定了业务异常的类型,但是并没有实际的做处理，要处理的话肯定是要当作异常进行处理的
 */
public enum EmBusinessError implements CommonError{
    /**
     * 每一个通用类型对应的绝对是它的构造方法
     */
    UNKNOWN_ERROR(10000,"未知错误"),
    USET_NOT_EXISTS(10001,"用户不存在"),
    USET_NOT_LOGIN(20000,"用户未登录"),
    ARITHMETIC_EXCEPTION(20001,"算数异常"),
    NULL_POINTER_EXCEPTION(20002,"空指针异常"),
    ;
    private int errCode;
    private String errMsg;

    EmBusinessError(int errCode,String errMsg){
        this.errCode = errCode;
        this.errMsg = errMsg;
    }
    /**
     * 获取错误码
     *
     * @return
     */
    @Override
    public int getErrCode() {
        return errCode;
    }

    /**
     * 获取错误消息
     *
     * @return
     */
    @Override
    public String getErrMsg() {
        return errMsg;
    }

    /**
     * @param errMsg
     * @return 返回实现这个接口的子类
     */
    @Override
    public CommonError setErrMsg(String errMsg) {
        this.errMsg = errMsg;
        return this;
    }}
